Goto

Collaborating Authors

 mario level


Interactive Evolution and Exploration Within Latent Level-Design Space of Generative Adversarial Networks

arXiv.org Artificial Intelligence

Generative Adversarial Networks (GANs) are an emerging form of indirect encoding. The GAN is trained to induce a latent space on training data, and a real-valued evolutionary algorithm can search that latent space. Such Latent Variable Evolution (LVE) has recently been applied to game levels. However, it is hard for objective scores to capture level features that are appealing to players. Therefore, this paper introduces a tool for interactive LVE of tile-based levels for games. The tool also allows for direct exploration of the latent dimensions, and allows users to play discovered levels. The tool works for a variety of GAN models trained for both Super Mario Bros. and The Legend of Zelda, and is easily generalizable to other games. A user study shows that both the evolution and latent space exploration features are appreciated, with a slight preference for direct exploration, but combining these features allows users to discover even better levels. User feedback also indicates how this system could eventually grow into a commercial design tool, with the addition of a few enhancements.


The Super Mario Makers: How Machine Learning is Building Super Mario Levels

#artificialintelligence

It's been ten years since the inception of the Mario AI research community, but work in this space is still as engaging and exciting as it's ever been. Today I'm going to look at a variety of research using machine learning to Super Mario level generation since the competition ceased in 2012. I'll be looking at the kinds of levels they're generating, how these algorithms go about building a Mario level and the opportunities that still lie ahead for this research field. It's time to meet the new Super Mario Makers. Before we look at the varying projects and systems in earnest, let's cover some the history of the field and a bit of background knowledge on the changes that have happened in the field in recent years.


The machines have taught themselves to make Mario levels

#artificialintelligence

Using a modern AI technique called Generative Adversarial Networks, a group of researchers devised a way to create new Mario levels by analyzing an actual one. They then figured out how to search the results for certain characteristics, such as difficulty. The research shows how AI could create games that automatically adapt to the player's skill level, or at the very least provide inspiration to human game designers. Computer-generated levels have been a part of video games for decades, and academics have even competed in years past to make the best Mario level generation algorithms. But in most of those cases, a programmer still had to set up all the parameters in which the computer could do its work.


Evolving Mario Levels in the Latent Space of a Deep Convolutional Generative Adversarial Network

arXiv.org Artificial Intelligence

Generative Adversarial Networks (GANs) are a machine learning approach capable of generating novel example outputs across a space of provided training examples. Procedural Content Generation (PCG) of levels for video games could benefit from such models, especially for games where there is a pre-existing corpus of levels to emulate. This paper trains a GAN to generate levels for Super Mario Bros using a level from the Video Game Level Corpus. The approach successfully generates a variety of levels similar to one in the original corpus, but is further improved by application of the Covariance Matrix Adaptation Evolution Strategy (CMA-ES). Specifically, various fitness functions are used to discover levels within the latent space of the GAN that maximize desired properties. Simple static properties are optimized, such as a given distribution of tile types. Additionally, the champion A* agent from the 2009 Mario AI competition is used to assess whether a level is playable, and how many jumping actions are required to beat it. These fitness functions allow for the discovery of levels that exist within the space of examples designed by experts, and also guide the search towards levels that fulfill one or more specified objectives.